package concurrent;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 创建时间：2018年03月14日17:10 <br>
 * 作者：fuchaoyang <br>
 * 描述：LruCache的实现原理：
 * LruCache的核心思想很好理解，就是要维护一个缓存对象列表，其中对象列表的排列方式是按照访问顺序实现的，即一直没访问的对象，将放在队尾，即将被淘汰。
 * 而最近访问的对象将放在队头，最后被淘汰。
 */

public class TestLinkedHashMap {

  public void lru() {
    // Lru的最近访问：linkedhashmap的链表结构保证了最先插入的数据会位于链表的前面，

    // 第三个参数 true表示存取的顺序，false表示插入的顺序，默认为false
    // 设置为 存取 顺序则取（get）的时候，将访问的元素更新到队列头部的功能
    // 这么以来可以实现Lru的最少访问
    Map map = new LinkedHashMap(0, 0.75f, true);
    // Lru 在put时会调用 trimToSize(maxSize)方法来调整缓存大小(关键方法)，将链表前面的删除掉
  }

  public void toInt(){
  }

  
}
